package com.huazi.www.frontdesk.dao;

import com.huazi.www.frontdesk.javaBase.ConsumeInfo;
import com.huazi.www.frontdesk.javaBase.DepartmentInfo;
import com.huazi.www.frontdesk.javaBase.FrontdeskCardInfo;
import com.huazi.www.frontdesk.javaBase.QueueInfo;

import java.util.List;

/**
 * 业务类
 */
public interface FrontdeskCardDao {
    /**
     * 用户注册
     *
     * @param password//密码
     * @param idCard//身份证号码
     * @param name//姓名
     * @param sex//性别
     * @param phone//电话
     * @param age//年龄
     * @return
     */
    Integer register(String password, String idCard, String name, String sex, String phone, Integer age);

    /**
     * 分页查询挂号表
     *
     * @param patientId//用户编号
     * @param star//起始下标
     * @param pageSize//查询条数
     * @return
     */
    List<QueueInfo> pagequeue(Integer patientId, Integer star, Integer pageSize);

    /**
     * 分页查询挂号表的总记录数
     *
     * @param patientId//用户编号
     * @return
     */
    Integer count(Integer patientId);

    /**
     * 转诊
     *
     * @param xiangxi//科室
     * @param patientId//用户编号
     * @return
     */
    Integer transfer(String xiangxi, Integer patientId);

    /**
     * 查询科室
     *
     * @return
     */
    List<DepartmentInfo> list();

    /**
     * 分页查询用户表
     *
     * @param id//用户编号
     * @param star//起始下标
     * @param pageSize//查询条数
     * @return
     */
    List<FrontdeskCardInfo> pagefrontdeskcard(Integer id, Integer star, Integer pageSize);

    /**
     * 分页查询用户表的总记录数
     *
     * @param id//用户编号
     * @return
     */
    Integer countfrontdeskcard(Integer id);

    /**
     * 根据id查询用户表用户信息
     *
     * @param id//用户编号
     * @return
     */
    List<FrontdeskCardInfo> idqueue(Integer id);

    /**
     * 根据id删除用户表用户信息
     *
     * @param id//用户编号
     * @return
     */
    Integer frontdeskcardupdate(Integer id);

    /**
     * 补卡
     *
     * @param password//密码
     * @param idCard//身份证号码
     * @param name//姓名
     * @param sex//性别
     * @param phone//电话号码
     * @param age//年龄
     * @param money//余额
     * @return
     */
    Integer reissueregister(String password, String idCard, String name, String sex, String phone, Integer age, Double money);

    /**
     * 分页查询缴费记录表
     *
     * @param name//按名字模糊查询
     * @param star//起始下标
     * @param pageSize//查询条数
     * @return
     */
    List<ConsumeInfo> pageconsume(String name, Integer star, Integer pageSize);

    /**
     * //分页查询缴费记录表的总记录数
     *
     * @param name//按名字模糊查询
     * @return
     */
    Integer consumecount(String name);

    /**
     * 充值
     *
     * @param //用户id
     * @param money//充值金额
     * @return
     */

    Integer recharging(Integer id, Double money);

    /**
     * 返回刚注册用户的id
     *
     * @param idCard//身份证号码
     * @return
     */
    Integer id(String idCard);
}
